package com.relytosoft.mizar.analyze.system.services.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.relytosoft.dubhe.common.core.base.page.PageQuery;
import com.relytosoft.mizar.analyze.system.api.entity.AyVehicleInfo;
import com.relytosoft.mizar.analyze.system.api.pojo.vo.AyVehicleInfoVo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @author lj
 * @date 2022/5/12 11:07
 */
public interface AyVehicleInfoService extends IService<AyVehicleInfo> {

    /**
     * 分页查询车辆信息
     *
     * @param pageQuery     分页条件
     * @param ayVehicleInfo 查询条件
     * @return 车辆信息
     */
    IPage<AyVehicleInfo> selectAyVehicleInfoPageList(PageQuery pageQuery, AyVehicleInfo ayVehicleInfo);

    /**
     * 添加车辆信息
     *
     * @param ayVehicleInfo 车辆数据
     */
    boolean addAyVehicleInfo(AyVehicleInfo ayVehicleInfo);


    /**
     * 逻辑删除车辆信息
     *
     * @param list 需要删除的车辆ID集合
     */
    boolean updateAyVehicleInfoStatus(List<Integer> list);


    /**
     * 查询车俩详情
     *
     * @param vehicleId 车辆ID
     * @return 详细信息
     */
    AyVehicleInfoVo selectByVehicleId(Integer vehicleId);


    /**
     * 修改车辆信息
     *
     * @param ayVehicleInfo 车辆信息
     */
    boolean updateAyVehicleInfo(AyVehicleInfo ayVehicleInfo);

    void importTemplate(HttpServletResponse response);

    void saveVehicleInfo(MultipartFile file, AyVehicleInfoService ayVehicleInfoService, List<Integer> ids);
}
